package net.tngou.crawler.company;

import java.util.List;
import java.util.Map;

import com.alibaba.fastjson.JSONObject;

import net.tngou.crawler.jdbc.OrderType;
import net.tngou.crawler.pojo.Latlng;
import net.tngou.crawler.pojo.POJO;

public class LatLngUtil {
	
	/**
	 * 取得所有网格坐标点
	 * @param start
	 * @param end
	 * @return
	 */
	public static Latlng[]  getLatlngs(Latlng start,Latlng end) {
		int t=(int) (Math.abs(end.getLat()-start.getLat())*10);
		int g=(int) (Math.abs(end.getLng()-start.getLng())*10);
		Latlng[] latlngs=new Latlng[(t+1)*(g+1)];
		double lat=end.getLat()>=start.getLat()?start.getLat():end.getLat();
		double lng=end.getLng()>=start.getLng()?start.getLng():end.getLng();
		int size =0;
		for (int i = 0; i < t+1; i++) {
			for (int j = 0; j < g+1; j++) {
				
				latlngs[size]=new Latlng(lat+(i*0.1),lng+(j*0.1));
				size++;
			}
		}	
		return latlngs;
	}
	
	/**
	 * 取得最小
	 * @param Latlngs
	 * @return
	 */
	public static Latlng minLatlng(Latlng[] Latlngs) {
		double lat=360;
		double lng=360;
		for (Latlng latlng : Latlngs) {
			lat=lat>latlng.getLat()?latlng.getLat():lat;
			lng=lng>latlng.getLng()?latlng.getLng():lng;
		}
		return new Latlng(lat, lng);
	}
	/**
	 * 取得最大
	 * @param Latlngs
	 * @return
	 */
	public static Latlng maxLatlng(Latlng[] Latlngs) {
		double lat=0;
		double lng=0;
		for (Latlng latlng : Latlngs) {
			lat=lat<latlng.getLat()?latlng.getLat():lat;
			lng=lng<latlng.getLng()?latlng.getLng():lng;
		}
		return new Latlng(lat, lng);
	}
	

	
	public static void main(String[] args) {
//		Latlng start=new Latlng("74.6,16.5");
//		Latlng end=new Latlng("134.5,54.5");
//		Latlng[] obs = getLatlngs(start, end);
//		for (Latlng latlng : obs) {
//			latlng.save();
//		}
		
		
//		Latlng bean = new Latlng();
//		List<Latlng > list = (List<Latlng>) bean.list("state=0", "id", OrderType.ASC);
//		for (Latlng latlng : list) {
//			JSONObject json = BaiduMap.getLocation(latlng.getLat()+","+latlng .getLng());
//			if(json.getInteger("status")==0) {
//				int cityCode = json.getJSONObject("result").getIntValue("cityCode");
//				latlng.setCitycode(cityCode);
//				latlng.setState(1);
//				latlng.update();
//			}else
//			{
//				System.err.println(json);
//			}
//		}
		
//		Latlng bean = new Latlng();
//		List<Latlng > list = (List<Latlng>) bean.list("state=1", "id", OrderType.ASC);
//		Map<String, String> map = CityCode.map();
//		for (Latlng latlng : list) {
//			String cityname = map.get(latlng.getCitycode()+"");
//			if(cityname!=null)
//			{
//				latlng.setState(2);
//			}else
//			{
//				latlng.setState(-1);
//			}
//			latlng.update();
//		}
	}
	
	

}
